package 每日一题;

public class CM62井字棋 {
    public boolean checkWon(int[][] board) {
        // write code here
        //默认是个 n*n的二维数组
        int n=board.length;

        int sum=0;
        //横向判断
        for (int i = 0; i <n ; i++) {
            sum=0;
            for (int j = 0; j <j; j++) {
                sum +=board[i][j];
            }
            if (sum==n) {
                return true;
            }
        }
        //竖向判断
        for (int i = 0; i <n; i++) {
            sum=0;
            for (int j = 0; j <n; j++) {
                sum += board[j][i];
            }
            if (sum==n) {
                return true;
            }
        }
        //主对角线判断
        sum=0;
        for (int i = 0; i <n; i++) {
            sum += board[i][i];
        }
        if (sum==n) {
            return true;
        }
        //副对角线判断
        sum=0;
        for (int i = 0; i <n; i++) {
            sum += board[i][n-1-i];
        }
        if (sum==n) {
            return true;
        }

        return false;

//        for (int i = 0; i <board.length-2; i++) {
//            for (int j = 0; j <board[0].length-2; j++) {
//
//                if (board[i][j]==1 && board[i][j]==board[i+1][j] && board[i+1][j]==board[i+2][j]) {
//                    return true;
//                }else if (board[i][j]==1 && board[i][j]==board[i][j+1] && board[i][j+1]==board[i][j+2]){
//                    return true;
//                }else if (board[i][j]==1 && board[i][j]==board[i+1][j+1] && board[i+1][j+1]==board[i+2][j+2]) {
//                    return true;
//                }
//
//            }
//        }
//        return false;
    }
}
